分享pandas中超级好用的str矢量化字符串函数 您所在的位置:网站首页 pandas 转字符串 分享pandas中超级好用的str矢量化字符串函数

分享pandas中超级好用的str矢量化字符串函数

#分享pandas中超级好用的str矢量化字符串函数| 来源: 网络整理| 查看: 265

本文介绍

你有没有这样一种感觉,为什么到自己手上的数据,总是乱七八糟? 作为一个数据分析师来说,数据清洗是必不可少的环节。有时候由于数据太乱,往往需要花费我们很多时间去处理它。因此掌握更多的数据清洗方法,会让你的能力调高100倍。 本文基于此,讲述pandas中超级好用的str矢量化字符串函数,学了之后,瞬间感觉自己的数据清洗能力提高了。

1个数据集,16个Pandas函数

数据集是黄同学精心为大家编造,只为了帮助大家学习到知识。数据集如下:

importpandasaspd df={'姓名':['黄同学','黄至尊','黄老邪','陈大美','孙尚香'], '英文名':['Huangtong_xue','huangzhi_zun','HuangLao_xie','ChenDa_mei','sunshang_xiang'], '性别':['男','women','men','女','男'], '身份证':['463895200003128433','429475199912122345','420934199110102311','431085200005230122','420953199509082345'], '身高':['mid:175_good','low:165_bad','low:159_bad','high:180_verygood','low:172_bad'], '家庭住址':['湖北广水','河南信阳','广西桂林','湖北孝感','广东广州'], '电话号码':['13434813546','19748672895','16728613064','14561586431','19384683910'], '收入':['1.1万','8.5千','0.9万','6.5千','2.0万']} df=pd.DataFrame(df) df 结果如下:

bcebfca8-9be2-11eb-8b86-12bb97331649.png

观察上述数据,数据集是乱的。接下来,我们就用16个Pandas来对上述数据,进行数据清洗。

① cat函数:用于字符串的拼接

df["姓名"].str.cat(df["家庭住址"],sep='-'*3) 结果如下:

bd027afa-9be2-11eb-8b86-12bb97331649.png

② contains:判断某个字符串是否包含给定字符

df["家庭住址"].str.contains("广") 结果如下:

bd0e3d40-9be2-11eb-8b86-12bb97331649.png

③ startswith/endswith:判断某个字符串是否以…开头/结尾

#第一个行的“黄伟”是以空格开头的 df["姓名"].str.startswith("黄") df["英文名"].str.endswith("e") 结果如下:

bd1e5ba8-9be2-11eb-8b86-12bb97331649.png

④ count:计算给定字符在字符串中出现的次数

df["电话号码"].str.count("3") 结果如下:

bd2bac22-9be2-11eb-8b86-12bb97331649.png

⑤ get:获取指定位置的字符串

df["姓名"].str.get(-1) df["身高"].str.split(":") df["身高"].str.split(":").str.get(0) 结果如下:

bd3eebde-9be2-11eb-8b86-12bb97331649.png

⑥ len:计算字符串长度

df["性别"].str.len() 结果如下:

bd502714-9be2-11eb-8b86-12bb97331649.png

⑦ upper/lower:英文大小写转换

df["英文名"].str.upper() df["英文名"].str.lower() 结果如下:

bd5d8d82-9be2-11eb-8b86-12bb97331649.png

⑧ pad+side参数/center:在字符串的左边、右边或左右两边添加给定字符

df["家庭住址"].str.pad(10,fillchar="*")#相当于ljust() df["家庭住址"].str.pad(10,side="right",fillchar="*")#相当于rjust() df["家庭住址"].str.center(10,fillchar="*") 结果如下:

bd691940-9be2-11eb-8b86-12bb97331649.png

⑨ repeat:重复字符串几次

df["性别"].str.repeat(3) 结果如下:

bd73b710-9be2-11eb-8b86-12bb97331649.png

⑩ slice_replace:使用给定的字符串,替换指定的位置的字符

df["电话号码"].str.slice_replace(4,8,"*"*4) 结果如下:

bd814ac4-9be2-11eb-8b86-12bb97331649.png

⑪ replace:将指定位置的字符,替换为给定的字符串

df["身高"].str.replace(":","-") 结果如下:

⑫ replace:将指定位置的字符,替换为给定的字符串(接受正则表达式)

replace中传入正则表达式,才叫好用;

先不要管下面这个案例有没有用,你只需要知道,使用正则做数据清洗多好用;

df["收入"].str.replace("d+.d+","正则") 结果如下:

bd9fe4de-9be2-11eb-8b86-12bb97331649.png

⑬ split方法+expand参数:搭配join方法功能很强大

#普通用法 df["身高"].str.split(":") #split方法,搭配expand参数 df[["身高描述","final身高"]]=df["身高"].str.split(":",expand=True) df #split方法搭配join方法 df["身高"].str.split(":").str.join("?"*5) 结果如下:

bdacbbb4-9be2-11eb-8b86-12bb97331649.png

⑭ strip/rstrip/lstrip:去除空白符、换行符

df["姓名"].str.len() df["姓名"]=df["姓名"].str.strip() df["姓名"].str.len() 结果如下:

bde4a2ea-9be2-11eb-8b86-12bb97331649.png

⑮ findall:利用正则表达式,去字符串中匹配,返回查找结果的列表

findall使用正则表达式,做数据清洗,真的很香!

df["身高"] df["身高"].str.findall("[a-zA-Z]+") 结果如下:

bdf09636-9be2-11eb-8b86-12bb97331649.png

⑯ extract/extractall:接受正则表达式,抽取匹配的字符串(一定要加上括号)

df["身高"].str.extract("([a-zA-Z]+)") #extractall提取得到复合索引 df["身高"].str.extractall("([a-zA-Z]+)") #extract搭配expand参数 df["身高"].str.extract("([a-zA-Z]+).*?([a-zA-Z]+)",expand=True) 结果如下:

be02c400-9be2-11eb-8b86-12bb97331649.png

今天的文章,就讲述到这里,希望能够对你有所帮助。

编辑:jq

原文标题:详解16个 pandas 函数,让你的 “数据清洗” 能力提高100倍!

文章出处:【微信号:DBDevs,微信公众号:数据分析与开发】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

扫一扫,分享给好友

复制链接分享 评论

发布评论请先 登录

相关推荐

如何快速学习并精通C语言 学习C语言不是一朝一夕的事情,但也不需要花费十年时间才能精通。如何以最小的代价学习并精通C语言是本文.... 的头像 嵌入式ARM 发表于 03-12 11:59 • 128次 阅读 编写一个简单的C51程序 对于嵌入式系统,如果没有运行RTOS,那么程序开发中的 主函数(main())需要通过某种机制使其永.... 的头像 嵌入式ARM 发表于 03-12 11:17 • 175次 阅读 关于堆和栈的理论知识 栈区(stack):由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结.... 的头像 嵌入式ARM 发表于 03-12 10:54 • 138次 阅读 数之联聚焦泛半导体行业的AI+工业检测 2018年,成都数之联科技股份有限公司(下称“数之联”)接到了厦门某电子集团的电话,让他们迅速准备一.... 发表于 03-11 16:31 • 2次 阅读 利用AI+大数据技术提升先进制造产品良率 良率在工业生产中占据非常重要的地位,在某些高端制造行业,良率管理能力甚至可以被认为是企业核心竞争力。.... 发表于 03-11 15:57 • 6次 阅读 常见的通信协议有哪些 协议是通信计算机双方必须共同遵从的一组约定。如怎么样建立连接、怎么样互相识别等。只有遵守这个约定,计.... 的头像 strongerHuang 发表于 03-11 13:58 • 168次 阅读 串行通信的应用场合 通信的种类和方式有很多,今天为大家分享一下通信中常见的同步、异步,单工、双工通信的区别。 的头像 strongerHuang 发表于 03-11 13:54 • 134次 阅读 高性能IRT的组态 在巡视窗口中,选择“属性 > 常规 > PROFINET > 管理 > 同步域 > 同.... 的头像 机器人及PLC自动化应用 发表于 03-11 11:14 • 138次 阅读 高光谱遥感在乐山文物保护中的应用 高光谱遥感,是高光谱分辨率遥感测量的简称,它是从感兴趣的物体中获取许多比较窄、光谱连续的影像数据,并.... 发表于 03-11 10:32 • 2次 阅读 如何应用Material Design 3和Material You   Material You 是下一代 Material Design 的发展方向,也是一种全新的设.... 的头像 谷歌开发者 发表于 03-11 10:24 • 113次 阅读 智齿科技完成1亿美金D轮融资 Semtech发布单向4通道解决方案 近日,一体化客户联络解决方案提供商智齿科技宣布完成1亿美金D轮融资。本轮融资由软银愿景基金2期领投,.... 发表于 03-11 09:56 • 418次 阅读 NÜWA多模态模型支持八大视觉生成与编辑任务 小编说:“自然语言”正在越来越经常地出现在我们的日常生活中。你有没有想象过,我们有一天可以使用自然语.... 的头像 微软科技 发表于 03-11 09:23 • 84次 阅读 微软多管齐下,构建现代化数据安全架构 小编说:面对后疫情时代的新常态发展,企业想持续发展不仅要克服频繁的供应链冲击和人才短缺等挑战,还要面.... 的头像 微软科技 发表于 03-11 09:11 • 84次 阅读 CAN FD如何提高通信效率 CAN的应用越来越广,汽车电子、工业控制、大型仪器设备等随处可见CAN总线。 的头像 strongerHuang 发表于 03-10 17:59 • 372次 阅读 C语言有哪些语法技巧和功能 C语言常常让人觉得它所能表达的东西非常有限。它不具有类似第一级函数和模式匹配这样的高级功能。但是C非.... 的头像 strongerHuang 发表于 03-10 17:42 • 714次 阅读 Pulse工具产品介绍与其功能详解 上周,【虹科云课堂】数据管理与可视化解决方案前两期课程圆满结束,感谢大家的观看与支持。虹小科为大家整.... 的头像 广州虹科电子科技有限公司 发表于 03-10 13:03 • 117次 阅读 如何提升电梯维保企业安全管理水平 据统计,2019年全年电梯生产总量有超过100万台,全国在用量将突破700万台。发达国家,一个电梯维.... 发表于 03-10 10:44 • 6次 阅读 基于以太网的开放式实时现场总线系统 EtherCAT是一种基于以太网的开放式实时现场总线系统。EtherCAT的研发目标是将以太网应用于.... 的头像 Excelpoint世健 发表于 03-10 10:35 • 175次 阅读 基于以太网的开放式实时现场总线系统 一文详细了解ADC时间交错技术 时间交错技术可使用多个相同的 ADC(文中虽然仅讨论了 ADC,但所有原理同样适用于 DAC 的时间.... 的头像 Excelpoint世健 发表于 03-10 10:35 • 192次 阅读 一文详细了解ADC时间交错技术 无线通讯技术在水泥余热发电系统的应用 近年来,《2030年前碳达峰行动方案》以及发改委等六部委下发《关于严格能效约束推动重点领域节能降碳的.... 发表于 03-10 08:56 • 7次 阅读 使用GoRK3288库的时候需要用到的语法有哪些呢 使用GoRK3288库的时候需要用到的语法有哪些呢?... 发表于 03-10 06:49 • 110次 阅读 通信协议常见内容有哪些 通信协议是指双方实体完成通信或服务所必须遵循的规则和约定。通过通信信道和设备互连起来的多个不同地理位.... 的头像 strongerHuang 发表于 03-09 17:22 • 367次 阅读 C语言简单模拟委托与简单模拟反射 函数是C语言的核心概念。主调函数(caller)调用被调函数(callee)是一般的调用关系,如果被.... 的头像 硬件攻城狮 发表于 03-09 17:17 • 1066次 阅读 关于1I²C读写EEPROM基础原理 相信很多读者都使用过类似AT24C0x这种使用I²C读写的EEPROM,在项目中,使用不当就容易导致.... 的头像 strongerHuang 发表于 03-09 17:14 • 1170次 阅读 Teledyne携手伙伴实现创新平台足迹 安谋科技出席集成电路产业论坛 近日,MicroLED微显示芯片领先制造商JBD正式对外发布其应用于智能眼镜的AmµLED™ Mic.... 发表于 03-09 14:30 • 782次 阅读 VMA和LMA的基本概念简介与常见问题解析 VMA和LMA的基本概念与常见问题解答 摘要:本文介绍VMA和LMA的基本概念,并针对一些理解过程中的常见疑问做出解... 发表于 03-09 06:45 • 242次 阅读 python私有变量和私有方法 python私有变量和私有方法 1. 下划线妙用 在 Python 中,下划线可是非常推荐使用的符号.... 的头像 python爬虫知识分享 发表于 03-08 16:30 • 360次 阅读 硅晶片的酸刻蚀实验分析 已经完成了理解硅的三相、基于酸的湿法蚀刻中的传输和动力学效应的研究。反应物克服液相传质阻力和动力学阻.... 发表于 03-08 14:05 • 12次 阅读 硅晶片的酸刻蚀实验分析 AR-HUD或成智能汽车赛道差异化竞争标配 电子发烧友网报道(文/莫婷婷)随着自动驾驶关键元器件的技术迭代,以及相关算法的升级,汽车智能化进展加.... 的头像 电子发烧友网 发表于 03-08 13:22 • 838次 阅读 一文详细了解量子密码 被喻为“重要数据保险箱”的安全芯片已经渗入人们生活的方方面面。随着5G、物联网、车联网的迅速发展,为.... 的头像 上海航芯 发表于 03-08 10:32 • 268次 阅读 朗科US1指纹加密U盘安全守护私密文件 我们大多数人的存储需求就是保存一些日常数据、家庭照片视频,工作上会经常通过U盘来相互传递资料。有些资.... 发表于 03-08 09:27 • 10次 阅读 RK3399 Android 7.1亮度调节的步骤有哪些呢 RK3399 Android 7.1亮度调节的原理是什么? RK3399 Android 7.1亮度调节的步骤有哪些呢? ... 发表于 03-08 09:20 • 283次 阅读 请教大神RK3399-RGA该怎样去使用呢 请教大神RK3399-RGA该怎样去使用呢? 发表于 03-08 09:18 • 289次 阅读 TG6101开发实战:蓝牙开发概述 TG6101开发实战:蓝牙开发 1.概述 TG6101 SDK中使用bluedroid栈(4.0)实现对BR/BLE的开发,其中BR主要应用为... 发表于 03-08 08:43 • 638次 阅读 【1024平头哥开发套件开发体验】- sc5654 高级使用步骤 【1024平头哥开发套件开发体验】- sc5654 高级使用 SC5654语音识别流程介绍 语音转文字:asr使用MIT云 函数:void aui... 发表于 03-08 08:34 • 443次 阅读 HarmonyOS部分文件目录整理 了解相关目录可以更好的帮助我们开发相关功能,例如,api6的JS无法直接获取相册文件,但可以访问应用.... 的头像 鸿蒙时代 发表于 03-07 16:05 • 216次 阅读 HF、HNO3和H2O体系中硅的化学刻蚀实验 本文研究了HF、HNO3和H2O体系中硅的蚀刻动力学作为蚀刻剂组成的函数。蚀刻速率与蚀刻剂组成的三轴.... 发表于 03-07 15:27 • 8次 阅读 HF、HNO3和H2O体系中硅的化学刻蚀实验 思必驰推出简单易操作的发音人音色定制平台 二次元歌姬初音未来、洛天依等虚拟人因独有的音色和软萌的外表受到很多人的喜爱,从推出单曲到开线下演唱会.... 的头像 思必驰 发表于 03-07 15:05 • 753次 阅读 “一网统管”正在成为实现城市治理现代化的新手段 国家“十四五”规划明确提出“加快建设数字经济、数字社会、数字政府,以数字化转型整体驱动生产方式、生活.... 的头像 华为数字中国 发表于 03-07 12:36 • 376次 阅读 易灵思16nm FPGA助力汽车市场发展 天玑智慧监管解决方案亮相推进会 针对新能源汽车中的自动驾驶、智能座舱和电气化应用,易灵思推出40nm Trion系列中T13F169.... 发表于 03-07 11:05 • 820次 阅读 数据文件合并 第一次练手写的小工具,可以批量将大量测试数据文件合并成一个文档,以便后续处理,奉上源码,各位可自由发挥。 ... 发表于 03-04 16:52 • 870次 阅读 数据文件合并 如何在Excel融合分析中实现仪表盘效果 精心设计的仪表盘不仅可以协调组织工作,帮助发现问题的关键,还可以让别人一眼就知道你想表达什么,或者在.... 发表于 03-04 16:19 • 6次 阅读 如何在Excel融合分析中实现仪表盘效果 曙光4K/8K制作存储解决方案 如火如荼的北京冬奥会已经全部采用4K超高清信号制作,这是第一次在所有项目上使用UHD(超高清)和HD.... 的头像 中科曙光 发表于 03-04 13:44 • 308次 阅读 python偏函数和泛型函数 python偏函数假如一个函数定义了多个位置参数,那你每次调用时,都需要把这些个参数一个一个地传递进去。 比如下面这个函数,是... 发表于 03-03 16:44 • 962次 阅读 python偏函数和泛型函数详解 python偏函数 假如一个函数定义了多个位置参数,那你每次调用时,都需要把这些个参数一个一个地传递.... 的头像 python爬虫知识分享 发表于 03-03 16:43 • 399次 阅读 四维图新及世纪高通将进一步落地CIM典型场景 近日,由城市信息模型CIM网组织编写的《2021年城市信息模型(CIM)发展白皮书(指数报告)》(下.... 的头像 四维图新NavInfo 发表于 03-03 15:10 • 438次 阅读 如何把uboot层logo的关闭显示呢 如何把uboot层logo的关闭显示呢? 如果logo不显调用kernel logo显示函数可以吗? ... 发表于 03-03 06:25 • 117次 阅读 python高阶函数 python高阶函数1. map 函数map 函数,它接收两个参数,第一个参数是一个函数对象(当然也可以是一个lambda表达式),第二个参数是... 发表于 03-02 16:47 • 568次 阅读 python高阶函数详解 python高阶函数 1. map 函数 map 函数,它接收两个参数,第一个参数是一个函数对象(当.... 的头像 python爬虫知识分享 发表于 03-02 16:47 • 165次 阅读 python高阶函数详解 python匿名函数的使用 python匿名函数的使用 匿名函数(英语:anonymous function)是指一类无需定义标.... 的头像 python爬虫知识分享 发表于 03-02 16:42 • 160次 阅读 如何在STM32中要实现数据通讯 z在stm32中要实现数据通讯,首先要设置相关的寄存器,这里不做相关的介绍,直接说代码相关的能内容及.... 的头像 嵌入式应用开发 发表于 03-02 08:56 • 221次 阅读 如何在STM32中要实现数据通讯 11个案例讲解python函数参数 函数,在定义的时候,可以有参数的,也可以没有参数。 的头像 python爬虫知识分享 发表于 03-01 16:39 • 229次 阅读 详解python普通函数创建与调用 函数是一种仅在调用时运行的代码块。您可以将数据(称为参数)传递到函数中,然后由函数可以把数据作为结果.... 的头像 python爬虫知识分享 发表于 03-01 16:32 • 222次 阅读 餐饮油烟监测云平台系统解决方案 餐饮业油烟是大气中挥发性有机物(VOCS)和PM10的主要来源之一。近年来随着环保治理的加强,省市区.... 发表于 03-01 15:46 • 16次 阅读 餐饮油烟监测云平台系统解决方案 python推导式是什么 python推导式 推导式(英文名:comprehensions),也叫解析式,是Python的一种.... 的头像 python爬虫知识分享 发表于 02-28 17:13 • 183次 阅读 KING KABLE光纤USB3.0有源光缆的特性及应用 KING KABLE USB 3.0有源光缆(AOC)采用USB 3.0光电转换模块和光纤线缆制作而.... 发表于 02-28 10:39 • 22次 阅读 时间约束的实体解析中记录对排序研究 摘 要:实体解析是数据集成和数据清洗的重要组成部分,也是大数据分析与挖掘的必要预处理步骤.传统的批处.... 发表于 02-26 16:25 • 16次 阅读 为什么要做需求管理,如何做需求管理 需求管理是产品经理非常重要的一项技能,简单理解,就是产品经理要记录所有需求,并根据公司的战略目标,对.... 的头像 产品经理:从入门到卓越 发表于 02-26 09:52 • 167次 阅读 境外服务器中的数据一般多久备份一次 对境外服务器中的数据定期备份,利于保护境外服务器中存储数据的安全,避免因为境外服务器出现意外导致数据.... 的头像 深圳市恒讯科技有限公司 发表于 02-25 16:53 • 292次 阅读 四张大屏模板告诉你智慧农业怎么做 俗话说得好,“民以食为天”。众所周知,我国是农业大国,农业是我国的根本。2015年我国开始大力提倡智.... 发表于 02-25 14:41 • 26次 阅读


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有